package com.cfpamf.athean.rabbit.mq.plus.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 类ProcessStatusEnum.java的实现描述：
 *
 * @author Andy（陈洪桥）2022年11月26 16:21
 */
@Getter
@AllArgsConstructor
public enum ProcessStatusEnum {

    TODO(10, "待处理"), PROCESSING(20, "处理中"), DONE(30, "已处理"), FAIL(40, "失败");

    private int code;
    private String desc;

    /**
     * 是待处理
     * 
     * @param code
     * @return
     */
    public static boolean isTodo(int code) {
        return TODO.getCode() == code;
    }

    /**
     * 不是失败
     * 
     * @param code
     * @return
     */
    public static boolean notFail(int code) {
        return !isTodo(code);
    }

    /**
     * 是失败
     * 
     * @param code
     * @return
     */
    public static boolean isFail(int code) {
        return FAIL.getCode() == code;
    }

    /**
     * 不是待处理
     * 
     * @param code
     * @return
     */
    public static boolean notTodo(int code) {
        return !isTodo(code);
    }

    /**
     * 是否不为已处理
     * 
     * @param code
     * @return
     */
    public static boolean isNotDone(int code) {
        return !isDone(code);
    }

    /**
     * 是否为已处理
     * 
     * @param code
     * @return
     */
    public static boolean isDone(int code) {
        return DONE.getCode() == code;
    }

}
